package com.xqzgj.system.service;

import java.util.Map;

/**
 * 库存分析Service接口
 */
public interface IStockAnalysisService {

    /**
     * 获取库存概览数据
     * 
     * @return 库存概览数据
     */
    Map<String, Object> getInventoryOverview();

    /**
     * 获取库存趋势数据
     * 
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 库存趋势数据
     */
    Map<String, Object> getInventoryTrend(String startDate, String endDate);

    /**
     * 获取库存对比数据
     * 
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 库存对比数据
     */
    Map<String, Object> getInventoryComparison(String startDate, String endDate);

    /**
     * 获取库存分类数据
     * 
     * @return 库存分类数据
     */
    Map<String, Object> getInventoryCategory();

    /**
     * 获取库存变动类型分布
     * 
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 库存变动类型分布数据
     */
    Map<String, Object> getInventoryTypeDistribution(String startDate, String endDate);

    /**
     * 获取库存变动类型趋势
     * 
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 库存变动类型趋势数据
     */
    Map<String, Object> getInventoryTypeTrend(String startDate, String endDate);

    /**
     * 更新预警阈值
     * 
     * @param threshold 预警阈值
     * @return 更新结果
     */
    boolean updateWarningThreshold(Integer threshold);

    /**
     * 导出库存分析报表
     * 
     * @param startDate 开始日期
     * @param endDate   结束日期
     * @return 导出结果
     */
    Map<String, Object> exportAnalysisReport(String startDate, String endDate);
}